﻿<?php	
/*	

include( "cache.php" );
$cache = new cache(30);
$cache->cacheCheck();
	
echo date("Y-m-d H:i:s");
	
$cache->caching();
*/

class cache {

var $cacheRoot = "./cache/";

var $cacheLimitTime = 0; 

var $cacheFileName = ""; 

var $cacheFileExt = "inc"; 

 function cache() {
	$this->cacheFileName = $this->getCacheFileName();
	ob_start();
 }

 function cacheCheck(){
	if( file_exists($this->cacheFileName) ) {
		echo file_get_contents($this->cacheFileName);
		ob_end_flush();
		exit;
	}
	return false;
 }

 function caching(){
	if( $this->cacheFileName ) {
	 $cacheContent = ob_get_contents();
	 ob_end_flush();
	 $this->saveFile( $this->cacheFileName, $cacheContent );
	}
 }

/*
 function clearCache( $fileName = "all" ) {
	if( $fileName != "all" ) {
	 $fileName = $this->cacheRoot . strtoupper(md5($fileName)).".".$this->cacheFileExt;
	 if( file_exists( $fileName ) ) {
		return @unlink( $fileName );
	 }else return false;
	}	
	if ( is_dir( $this->cacheRoot ) ) {
	 if ( $dir = @opendir( $this->cacheRoot ) ) {
		while ( $file = @readdir( $dir ) ) {
		 $check = is_dir( $file );
		 if ( !$check )	
		 @unlink( $this->cacheRoot . $file );
		}	
		@closedir( $dir );
		return true;
	 }else{
		return false;
	 }
	}else{
	 return false;
	}
 }*/


 function getCacheFileName() {
	return $this->cacheRoot . strtoupper(md5($_SERVER["REQUEST_URI"])).".".$this->cacheFileExt;
}
	
/*
 function getFileCreateTime( $fileName ) {
	if( ! trim($fileName) ) return 0;
	 
	if( file_exists( $fileName ) ) { 
	 return intval(filemtime( $fileName ));
	}else return 0;
 }	*/
	

 function saveFile($fileName, $text) {
	if( ! $fileName || ! $text ) return false;
	 
	if( $this->makeDir( dirname( $fileName ) ) ) {
	 if( $fp = fopen( $fileName, "w" ) ) {
		if( @fwrite( $fp, $text ) ) {
		 fclose($fp);
		 return true;
		}else {
		 fclose($fp);
		 return false;
		}	
	 }	
	}	
	return false;
 }	
	

 function makeDir( $dir, $mode = 0777 ) {
	if( ! $dir ) return 0;
	$dir = str_replace( "\\", "/", $dir );	
		
	$mdir = "";	
	foreach( explode( "/", $dir ) as $val ) {	
	 $mdir .= $val."/";	
	 if( $val == ".." || $val == "." || trim( $val ) == "" ) continue;
		 
	 if( ! file_exists( $mdir ) ) {
		if(!@mkdir( $mdir, $mode )){
		 return false;
		}	
	 }	
	}	
	return true;
 }



/* function request_uri() {
	if (isset($_SERVER['REQUEST_URI'])){
		$uri = $_SERVER['REQUEST_URI'];
	}else{
		if (isset($_SERVER['argv']))		 {
			$uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
		} else {
			$uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
		}
	}
	return $uri; 
}*/



}
?>


